#include <bits/stdc++.h>
using namespace std;
// 定义高度数组，大小设置为100000以适应问题规模
int h[100000];
int main() {

  int n;
  cin >> n;

  // 循环读取每个人的身高数据，使用1-based索引（从1开始计数）
  for (int i = 1; i <= n; ++i)
    cin >> h[i];

  // 主循环：为每个人查找左侧最近的更高的人
  for (int i = 1; i <= n; i++) {

    // 初始化j为当前人的前一个位置
    int j = i - 1;

    // 向左遍历查找，从当前人的前一个位置开始，直到第一个人
    for (; j >= 1; j--) {
      // 判断第j个人的身高是否大于第i个人的身高
      if (h[j] > h[i]) {
        // 找到符合条件的人，直接输出其位置j（1-based索引）
        cout << j << endl;
        // 由于从右向左查找，找到的第一个就是最近的，立即跳出内层循环
        break;
      }
    }

    // 如果内层循环结束时j=0，表示没有找到符合条件的人（左侧没有人更高）
    if (j == 0)
      cout << -1 << endl;
  }

  // 程序正常结束
  return 0;
}